Interleaving Symbolic Execution and Partial Evaluation

نویسندگان

  • Richard Bubel
  • Reiner Hähnle
  • Ran Ji
چکیده

Partial evaluation is a program specialization technique that allows to optimize programs for which partial input is known. We show that partial evaluation can be used with advantage to speed up as well symbolic execution of programs. Interestingly, the input required for partial evaluation comes from symbolic execution itself which makes it natural to interleave partial evaluation and symbolic execution steps in a software verification setup.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Interleaving Execution and Planning via Symbolic Model Checking

Interleaving planning and execution is the practical alternative to the problem of planning off-line with large state spaces. While planning via symbolic model checking has been extensively studied for off-line planning, no framework for interleaving it with execution has been ever devised. In this paper, we extend planning via symbolic model checking with the ability of interleaving planning a...

متن کامل

1 Partial Execution - An Easy Partial Evaluation

Partial evaluation, also known as automatic specialization, is a particular collection of techniques for improving the performance of an application. With clear benefits, but unclear implementation up until now, partial evaluation is little used in current computing practice. This soon will change. Presented here is partial execution, an alternative to symbolic evaluation the technique driving ...

متن کامل

Symbolic Model Checking for Asynchronous Boolean Programs

Software model checking problems generally contain two different types of non-determinism: 1) non-deterministically chosen values; 2) the choice of interleaving among threads. Most modern software model checkers can handle only one source of non-determinism efficiently, but not both. This paper describes a SAT-based model checker for asynchronous Boolean programs that handles both sources effec...

متن کامل

Contessa: Concurrency Testing Augmented with Symbolic Analysis

Testing of multi-threaded programs poses enormous challenges. To improve the coverage of testing, we present a framework named CONTESSA that augments conventional testing (concrete execution) with symbolic analysis in a scalable and efficient manner to explore both thread interleaving and input data space. It is built on partial-order reduction techniques that generate verification conditions w...

متن کامل

Compositional Symbolic Execution through Program Specialization

Scalability is a major challenge in symbolic execution. The large number of paths that need to be explored and the large size of the constraints that must be carried often compromise the effectiveness of symbolic execution for software testing in practice. Compositional symbolic execution aims to alleviate these scalability issues by executing the methods of a program separately, stowing their ...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2009